@echo off
chcp 65001 >nul

echo 🚀 开始设置急救转运系统开发环境...

REM 检查必要的工具
echo 📋 检查开发工具...

REM 检查Node.js
node --version >nul 2>&1
if errorlevel 1 (
    echo ❌ Node.js未安装，请先安装Node.js 16+
    pause
    exit /b 1
)

REM 检查Java
java -version >nul 2>&1
if errorlevel 1 (
    echo ❌ Java未安装，请先安装Java 8+
    pause
    exit /b 1
)

REM 检查Maven
mvn -version >nul 2>&1
if errorlevel 1 (
    echo ❌ Maven未安装，请先安装Maven 3.6+
    pause
    exit /b 1
)

REM 检查Docker
docker --version >nul 2>&1
if errorlevel 1 (
    echo ❌ Docker未安装，请先安装Docker
    pause
    exit /b 1
)

REM 检查Docker Compose
docker-compose --version >nul 2>&1
if errorlevel 1 (
    echo ❌ Docker Compose未安装，请先安装Docker Compose
    pause
    exit /b 1
)

echo ✅ 开发工具检查完成

REM 创建必要的目录
echo 📁 创建项目目录...
if not exist "logs" mkdir logs
if not exist "uploads" mkdir uploads
if not exist "nginx\ssl" mkdir nginx\ssl
if not exist "nginx\conf" mkdir nginx\conf

REM 安装前端依赖
echo 📦 安装前端依赖...
cd app
if exist "package.json" (
    call npm install
    echo ✅ 前端依赖安装完成
) else (
    echo ⚠️  前端package.json不存在，跳过依赖安装
)
cd ..

REM 安装后端依赖
echo 📦 安装后端依赖...
cd admin-service
if exist "pom.xml" (
    call mvn clean install -DskipTests
    echo ✅ 后端依赖安装完成
) else (
    echo ⚠️  后端pom.xml不存在，跳过依赖安装
)
cd ..

REM 启动数据库和Redis
echo 🐳 启动数据库和Redis服务...
docker-compose up -d mysql redis

REM 等待数据库启动
echo ⏳ 等待数据库启动...
timeout /t 30 /nobreak >nul

REM 检查数据库连接
echo 🔍 检查数据库连接...
docker-compose exec mysql mysqladmin ping -h localhost -u root -ppassword --silent
if errorlevel 1 (
    echo ❌ 数据库连接失败
    pause
    exit /b 1
) else (
    echo ✅ 数据库连接正常
)

REM 导入数据库脚本
echo 📊 导入数据库脚本...
if exist "admin-service\sql" (
    docker-compose exec mysql mysql -u root -ppassword dryadnet < admin-service\sql\ry_20250522.sql
    echo ✅ 数据库脚本导入完成
) else (
    echo ⚠️  数据库脚本目录不存在，跳过导入
)

echo 🎉 开发环境设置完成！
echo.
echo 📝 下一步操作：
echo 1. 启动后端服务: cd admin-service ^&^& mvn spring-boot:run
echo 2. 启动前端服务: cd app ^&^& npm run dev:h5
echo 3. 访问管理后台: http://localhost:8080
echo 4. 访问移动端: http://localhost:9090
echo.
echo 🔧 其他命令：
echo - 停止服务: docker-compose down
echo - 查看日志: docker-compose logs -f
echo - 重启服务: docker-compose restart
echo.
pause
